package com.smart.community.commons.constant;

/**
 * 权限常量类
 * @author Wu.Liang
 * @updated 2025-01-30 - 增加二级菜单权限常量
 */
public class PermissionConstants {
    private PermissionConstants() { throw new UnsupportedOperationException("Utility class"); }
    
    // 超级管理员权限
    public static final String SUPER_ADMIN_PERMISSION = "*:*:*";
    public static final String ADMIN_PERMISSION = "admin:*:*";
    
    // 一级菜单权限
    public static final String DASHBOARD_MENU = "dashboard:menu";
    public static final String USER_MENU = "user:menu";
    public static final String REGION_MENU = "region:menu";
    public static final String PROPERTY_MENU = "property:menu";
    public static final String PARKING_MENU = "parking:menu";
    public static final String SECURITY_MENU = "security:menu";
    public static final String EMERGENCY_MENU = "emergency:menu";
    public static final String DEVICE_MENU = "device:menu";
    public static final String APPOINTMENT_MENU = "appointment:menu";
    public static final String NOTIFICATION_MENU = "notification:menu";
    public static final String COMPLAINT_MENU = "complaint:menu";
    public static final String PAYMENT_MENU = "payment:menu";
    
    // 用户管理二级菜单权限
    public static final String USER_LIST_MENU = "user:list:menu";
    public static final String ROLE_MENU = "role:menu";
    public static final String PERMISSION_MENU = "permission:menu";
    public static final String SYSTEM_CONFIG_MENU = "system:config:menu";
    public static final String OPERATION_LOG_MENU = "operation:log:menu";
    public static final String LOGIN_LOG_MENU = "login:log:menu";
    
    // 区域管理二级菜单权限
    public static final String REGION_LIST_MENU = "region:list:menu";
    public static final String COMMUNITY_MENU = "community:menu";
    public static final String BUILDING_MENU = "building:menu";
    public static final String UNIT_MENU = "unit:menu";
    public static final String HOUSEHOLD_MENU = "household:menu";
    public static final String RESIDENT_MENU = "resident:menu";
    
    // 物业管理二级菜单权限
    public static final String PROPERTY_COMPANY_MENU = "property:company:menu";
    public static final String PROPERTY_INFO_MENU = "property:info:menu";
    public static final String PROPERTY_FEE_MENU = "property:fee:menu";
    public static final String PROPERTY_SANITATION_MENU = "property:sanitation:menu";
    public static final String PROPERTY_GAS_MENU = "property:gas:menu";
    public static final String PROPERTY_UTILITY_MENU = "property:utility:menu";
    public static final String PROPERTY_REPAIR_MENU = "property:repair:menu";
    
    // 停车管理二级菜单权限
    public static final String PARKING_LOT_MENU = "parking:lot:menu";
    public static final String PARKING_SPACE_MENU = "parking:space:menu";
    public static final String PARKING_VEHICLE_MENU = "parking:vehicle:menu";
    public static final String PARKING_RECORD_MENU = "parking:record:menu";
    public static final String PARKING_CHARGING_PILE_MENU = "parking:charging-pile:menu";
    public static final String PARKING_CHARGING_CATEGORY_MENU = "parking:charging-category:menu";
    public static final String PARKING_CHARGING_RECORD_MENU = "parking:charging-record:menu";
    public static final String PARKING_STATISTICS_MENU = "parking:statistics:menu";
    
    // 安防管理二级菜单权限
    public static final String SECURITY_DEVICE_MENU = "security:device:menu";
    public static final String SECURITY_RECORD_MENU = "security:record:menu";
    public static final String SECURITY_VISITOR_MENU = "security:visitor:menu";
    
    // 紧急求助二级菜单权限
    public static final String EMERGENCY_CALL_MENU = "emergency:call:menu";
    public static final String EMERGENCY_PLAN_MENU = "emergency:plan:menu";
    public static final String EMERGENCY_CONTACT_MENU = "emergency:contact:menu";
    
    // 设备管理二级菜单权限
    public static final String DEVICE_MONITOR_MENU = "device:monitor:menu";
    public static final String DEVICE_MAINTENANCE_MENU = "device:maintenance:menu";
    public static final String DEVICE_FACILITY_MENU = "device:facility:menu";
    
    // 服务预约二级菜单权限
    public static final String APPOINTMENT_LIST_MENU = "appointment:list:menu";
    public static final String APPOINTMENT_SERVICE_MENU = "appointment:service:menu";
    public static final String APPOINTMENT_SCHEDULE_MENU = "appointment:schedule:menu";
    
    // 通知管理二级菜单权限
    public static final String NOTIFICATION_LIST_MENU = "notification:list:menu";
    public static final String NOTIFICATION_TEMPLATE_MENU = "notification:template:menu";
    public static final String NOTIFICATION_PUSH_MENU = "notification:push:menu";
    
    // 投诉建议二级菜单权限
    public static final String COMPLAINT_LIST_MENU = "complaint:list:menu";
    public static final String COMPLAINT_SUGGESTION_MENU = "complaint:suggestion:menu";
    public static final String COMPLAINT_STATISTICS_MENU = "complaint:statistics:menu";
    
    // 支付管理二级菜单权限
    public static final String PAYMENT_LIST_MENU = "payment:list:menu";
    public static final String PAYMENT_CONFIG_MENU = "payment:config:menu";
    public static final String PAYMENT_CHANNEL_MENU = "payment:channel:menu";
} 
